
const fs = require('fs')

function read(path) {
  return new Promise(function(resolve, reject) {
    fs.readFile(path, 'utf-8', (err, dataStr) => {
      if (err) return reject(err)
      resolve(dataStr)
    })
  })
}

const p1 = read('./files/1.txt')
const p2 = read('./files/2.txt')
const p3 = read('./files/3.txt')

// Promise.all(所有的Promise全部执行完毕时then才调用)
// Promise.all(数组数组中的成员是promise)
// Promise.all([p1, p2, p3]).then(res => {
//   console.log(res)
// })

// Promise.race(哪一个Promise异步操作执行完毕then的结果就是最先的promise结果)
Promise.race([p1, p2, p3]).then(res => {
  console.log(res)
})
